Skip to content

Feature/language flyout#737

Open
bropines wants to merge 10 commits into
unchihugo:masterfrom
bropines:feature/language-flyout
Open

Feature/language flyout#737
bropines wants to merge 10 commits into
unchihugo:masterfrom
bropines:feature/language-flyout

Conversation

@bropines

Copy link
Copy Markdown
Contributor

Summary

Added the Language Flyout feature

Motivation

I just wanted the flyout to appear when the keyboard layout is changed as well.

Closes #607 #83

Type of Change

  • Feature
  • Bug fix
  • Refactor (no functional changes)
  • Style (formatting, naming)
  • Other

What Changed

  • Developed the Language Flyout itself
  • Added to the settings
  • Translated into two languages at once: Ru and En
  • The system language uses the system's primary color; for other languages, the HUE offset is applied relative to the primary color.

Additional Information

explorer_r9TecVxOY5 --- 11dAiQYDmr Tocwwb4Mie

Checklist

  • Code changes are manually tested and working.
  • Formatting and naming are consistent with the project.
  • Self-review of changes is done.
  • AI tools were used (if yes, I reviewed and fully understand the changes myself).

@github-actions github-actions Bot added MainWindow / Media Flyout Changes to MainWindow including the Media Flyout Lock Keys Flyout Changes to LockWindow.xaml or LockWindow.xaml.cs labels Apr 28, 2026
@bropines bropines force-pushed the feature/language-flyout branch from d76925d to a30901d Compare May 26, 2026 16:28
@bropines

Copy link
Copy Markdown
Contributor Author

Slightly updated the animations, made the dimensions static, and increased the smoothness

@bropines bropines force-pushed the feature/language-flyout branch from 619de6a to 6c8d225 Compare June 13, 2026 13:46
@unchihugo

Copy link
Copy Markdown
Owner

Hi @bropines, thanks for the contribution.

Instead of creating a new Window, I think we should re-use the LockWindow. This is because functionality wise (looking at the code) and design wise, the new window shares basically the exact same purpose/code as LockWindow. Also, new WPF windows take a lot of RAM if hardware acceleration is on, and if we re-use LockWindow, we would eliminate that extra usage from initializing new windows.

@bropines

Copy link
Copy Markdown
Contributor Author

Hi @bropines, thanks for the contribution.

Instead of creating a new Window, I think we should re-use the LockWindow. This is because functionality wise (looking at the code) and design wise, the new window shares basically the exact same purpose/code as LockWindow. Also, new WPF windows take a lot of RAM if hardware acceleration is on, and if we re-use LockWindow, we would eliminate that extra usage from initializing new windows.

Thanks for your answer. Yes, in general I realized that it is better to use ready-made windows instead of generating new ones. I did as you asked and tested. I ALSO put the logic into a separate file LockWindow.Language.cs and imported it as a class. Unfortunately, I have little experience in animation (and Gemini is crap), and I think it turned out janky. If you can do better, I'll be glad

@bropines

Copy link
Copy Markdown
Contributor Author

I also don’t understand how to normally intercept win+space... If in alt+shift(ctrl+shift) it intercepts every press of shift, then in win+space it only intercepts the release of both keys

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Lock Keys Flyout Changes to LockWindow.xaml or LockWindow.xaml.cs MainWindow / Media Flyout Changes to MainWindow including the Media Flyout

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE REQUEST] Language switch flyout

2 participants